(()=> {

    // 修饰符（类中成员的修饰符）： 主要是描述类中成员（属性，构造函数，方法）的可访问性

    // 定义一个类
    class Person {
        // public name: string
        // private name: string  
        protected name: string
        constructor(name:string) {
            this.name = name 
        }
        eat() {
            console.log(`66666666 ${this.name}`)
        }
    }

    class Student extends Person {
        constructor(name: string) {
            super(name )
        }

        play() {
            console.log(`666 studnet ${this.name}`)
        }
    }


    const person = new Person('大蛇丸')
    //  Property 'name' is private and only accessible within class 'Person'.
    // console.log('person.name = ', person.name)  
    person.eat()

    const stu = new Student('学生')
    stu.eat()

})()